package work.thread_eg.thread0;

/**
 * 线程的基础知识
 * sleep() 和 yield() join() 方法
 * yield 回到等待队列 返回到就绪状态
 * join  t1的线程调用t2.join t1会调用t2  常用于等待另一个线程结束 等待t2线程结束了 再回到t1线程
 *
 * 线程的状态 JVM管理的
 * new状态  : 调用start()之后进入ready状体
 * ready状态(就绪态) : 等待队列中  线程被调度器选中执行 进入running态
 * running状态 : yield 进入 ready状态
 *
 *
 */
public class ThreadTest01 {

    public static void main(String args[]) {
        // 线程
        // 一般来说创建线程是需要新建一个类继承Thread类或实现Runnable接口，但是采用匿名类就不用写了
        // 现在这个类在匿名类实现了  实际上也是实现了Runnable接口
        Thread t = new Thread(() -> {
            for (int i = 1; i <= 100; i++) {
                System.out.println("thread1 =====  "+i);
            }
        });
        t.start();

        Runnable r = () -> {
            for (int i = 1; i <= 100; i++) {
                System.out.println("thread2 =====  "+i);
            }
        };
        Thread t1 = new Thread(r);
        t1.start();
    }
}
